package com.qf;

import com.qf.pojo.Person;
import com.qf.pojo.User;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ConfigurableApplicationContext;

/**
 * 引导类（起步类）
 *
 * @ComponentScan: 包扫描，扫描组件
 * <context:component-scan></context:component-scan>
 *
 *
 * @EnableAutoConfiguration: 开启自动配置
 *      自动配置: 引入springboot 的起步依赖后，会自动帮助我们创建某些对象
 *      @Import({AutoConfigurationImportSelector.class})： 导入了需要自动配置的 类 全名称
 *      public String[] selectImports: 该方法返回值类型，就是需要自动配置的类全名称
 *      SpringFactoriesLoader.loadFactoryNames：spring工厂载入对象
 *      FACTORIES_RESOURCE_LOCATION = "META-INF/spring.factories"：就是需要自动配置的 类全名称 的资源文件
 * @version v1.0.0
 * @Description:
 * @author: 姜红凯
 * @date: 2022.03.09
 * @since 1.0
 */
@SpringBootApplication
public class SpringBootHelloWorld {
    public static void main(String[] args) {
        ConfigurableApplicationContext ac = SpringApplication.run(SpringBootHelloWorld.class, args);

//        Person person = ac.getBean(Person.class);
//
//        System.out.println(person);

        User user = ac.getBean(User.class);
        System.out.println(user);

    }
}
